import {
	RouterMount,
	createRouter,
	runtimeQuit
} from 'uni-simple-router';

const router = createRouter({
	platform: process.env.VUE_APP_PLATFORM,
	routerErrorEach: ({
		type,
		level,
		...args
	}) => {
		console.log({
			type,
			level,
			...args
		})
		// #ifdef APP-PLUS
		if (type === 3) {
			router.$lockStatus = false;
			runtimeQuit();
		}
		// #endif
	},
	routes: [
		...ROUTES,
		{
			path: '*',
			redirect: (to) => {
				return {
					name: '404'
				}
			}
		},
	]
});

//全局路由前置守卫
router.beforeEach((to, from, next) => {
	console.log('------to----->', to);
	console.log('------from----->', from);
	
	// 判断是否已登录过，已登录直接 next
	const token = uni.getStorageSync('token');
	if (token) {
		next();
		return;
	}
	
	// 判断是否需要登录
	if (to.meta.needLogin) {
		next({
			name: 'login',
			params: {
				jumpPath: to.fullPath
			},
			NAVTYPE: 'push' // 默认类型
		})
	} else {
		next();
	}
});

// 全局路由后置守卫
router.afterEach((to, from) => {
	console.log('跳转结束')
})

export {
	router,
	RouterMount
}